- Overview
- UI Automation
- UI-ANA-016 - Pull Open Browser URL
- UI-ANA-017 - ContinueOnError True
- UI-ANA-018 - List OCR/Image Activities
- UI-DBP-006 - Container Usage
- UI-DBP-013 - Excel Automation Misuse
- UI-DBP-030 - Forbidden Variables Usage In Selectors
- ST-DBP-021 - Hardcoded Timeout
- UI-PRR-001 - Simulate Click
- UI-PRR-002 - Simulate Type
- UI-PRR-003 - Open Application Misuse
- UI-PRR-004 - Hardcoded Delays
- UI-REL-001 - Large Idx in Selectors
- UI-SEC-004 - Selector Email Data
- UI-SEC-010 - App/Url Restrictions
- UI-USG-011 - Non Allowed Attributes
- SY-USG-013 - Private File Invoke
- SY-USG-014 - Incorrect Execution Template Placeholders
- Applications and technologies automated with UI Automation
- UiPath Browser Migration Tool
- Computer Vision Recorder
- Click
- Hover
- Type Secure Text
- Send Hotkey
- Type Into
- Check
- Select Item
- Select Multiple Items
- Get Text
- Set Text
- Activate
- Highlight
- Set Focus
- Anchor Base
- Context Aware Anchor
- Find Relative Element
- Indicate On Screen
- Element Exists
- Find Element
- Wait Element Vanish
- Find Children
- Get Ancestor
- Element Scope
- Get Attribute
- Set Clipping Region
- Get Position
- Take Screenshot
- Wait Attribute
- On Element Appear
- On Element Vanish
- Click Text
- Hover Text
- Find Text Position
- Get Full Text
- Get Visible Text
- Extract Structured Data
- Text Exists
- Click OCR Text
- Hover OCR Text
- Get OCR Text
- Find OCR Text Position
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- Microsoft Azure Computer Vision OCR
- Tesseract OCR
- Google Cloud Vision OCR
- OCR Text Exists
- Click Image
- Hover Image
- Find Image Matches
- Image Exists
- Find Image
- Wait Image Vanish
- On Image Appear
- On Image Vanish
- Load Image
- Save Image
- Attach Browser
- Close Tab
- Go Back
- Go Forward
- Go Home
- Inject JS Script
- Navigate To
- Open Browser
- Refresh Browser
- Set Web Attribute
- Attach Window
- Close Window
- Get Active Window
- Hide Window
- Maximize Window
- Minimize Window
- Move Window
- Restore Window
- Show Window
- Export UI Tree
- Invoke ActiveX Method
- Inject .NET Code
- Click Trigger
- Key Press Trigger
- Click Image Trigger
- System Trigger
- Hotkey Trigger
- Mouse Trigger
- Get Event Info
- Monitor Events
- Get Source Element
- Replay User Event
- Block User Input
- Use Foreground
- Element Attribute Change Trigger
- Element State Change Trigger
- Callout
- Copy Selected Text
- Get From Clipboard
- Set To Clipboard
- Close Application
- Open Application
- Start Process
- Get Password
- Tooltip
- Click Picture on Screen
- Click Toolbar Button
- Read Statusbar
- Select Dates in Calendar
- Select Menu Item
- Expand Tree
- Call Transaction
- SAP Logon
- SAP Login
- Table Cell Scope
- SAP Session Attributes Change Trigger
- Expand ALV Tree
- Expand ALV Hierarchical Table
- Use Application/Browser
- Check App State
- Check/Uncheck
- Click
- Extract Table Data
- Get Text
- Get URL
- Go to URL
- Highlight
- Hover
- Keyboard Shortcuts
- Navigate Browser
- Select Item
- Take Screenshot
- Type Into
- Get Attribute
- Get Browser Data
- Set Browser Data
- Mouse Scroll
- Inject Js Script
- Drag and Drop
- For Each UI Element
- Application Event Trigger
- Click Event Trigger
- Keypress Event Trigger
- Set Text
- Check Element
- Fill Form
- Perform browser search and retrieve results using UI Automation APIs
- Web Browsing
- Find Images
- Click Images
- Trigger and Monitor Events
- Create and Override Files
- HTML Pages: Extract and Manipulate Information
- Window Manipulation
- Automated List Selection
- Find and Manipulate Window Elements
- Manage Text Automation
- Load and Process Images
- Manage Mouse Activated Actions
- Automate Application Runtime
- Automated Run of a Local Application
- Browser Navigation
- Web Automation
- Trigger Scope Example
- Computer Vision Local Server
- Mobile Automation
- Release notes
- Project compatibility
- Get Log Types
- Get Logs
- Get Page Source
- Get Device Orientation
- Get Session Identifier
- Install App
- Manage Current App
- Manage Other App
- Open DeepLink
- Open URL
- Mobile Device Connection
- Positional Swipe
- Press Hardware Button
- Set Device Orientation
- Take Screenshot
- Take Screenshot Part
- Element Exists
- Execute Command
- Get Attribute
- Get Selected Item
- Get Text
- Set Selected Item
- Set Text
- Swipe
- Tap
- Type Text
- Draw Pattern
- Terminal
Linux Robots
The Robot Linux image allows you to run cross-platform automations in docker containers.
mcr.microsoft.com/dotnet/runtime
. All files required by the application are placed in the /application/
directory.
- Docker Environment.
- Network connection to Orchestrator.
- Machine Template Client Credentials.
To use robots in a Linux environment, create an unattended robot in orchestrator, save ClientID and ClientSecret to be used later, then follow the steps below on the robot machine:
- Open a command line terminal and
get the docker image using the following
command:
docker pull registry.uipath.com/robot/uiautomation-runtime:<tag>
docker pull registry.uipath.com/robot/uiautomation-runtime:<tag>Note: Not using a specific tag retrieves the most recent enterprise patch for the latest enterprise version. To retrieve or start a specific version of the robot, replace the <tag> parameter with the actual version from the Docker Image Tags column in the table below:Robot Version Docker Image Tags 2023.10 23.10.69.35238-robot23.10.0 - Based on the connection type, you
can start the downloaded image and connect the robot to Orchestrator using one
of the commands below:
Important: In order to successfully start the robot, you must accept the license agreement by adding the
-e LICENSE_AGREEMENT=accept
parameter in the command.- Client ID and Client
Secret:
docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_"-e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid registry.uipath.com/robot/uiautomation-runtime:<tag>
docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_"-e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid registry.uipath.com/robot/uiautomation-runtime:<tag> - Machine
Key:
docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e MACHINE_KEY="$KEY" -tid registry.uipath.com/robot/uiautomation-runtime:<tag>
docker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e MACHINE_KEY="$KEY" -tid registry.uipath.com/robot/uiautomation-runtime:<tag>
- Client ID and Client
Secret:
DNS configuration example:
docker run --dns="1.1.1.1" -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid registry.uipath.com/robot/uiautomation-runtime:<tag>
docker run --dns="1.1.1.1" -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -tid registry.uipath.com/robot/uiautomation-runtime:<tag>
1.1.1.1
refers to the public DNS resolver from Cloudflare. This can
be any DNS resolver that can resolve the SignalR Hub.
docker start {container_id}
command to start an
already created container.
- To see the status of your robots
on the machine use the following
command:
docker ps -a
docker ps -a - To disconnect a robot use the
command
below:
docker stop {container_id}
docker stop {container_id}Important: Usingdocker kill container_id
stops the robot on the machine but does not disconnect it from Orchestrator. - To reconnect a specific robot use
the command
below:
docker start {container_id}
docker start {container_id}
The Linux robot can run both background and foreground (using Google Chrome) automations.
If you want to create a web automation compatible with Linux robots, follow the steps below:
- When creating a new process, choose the cross-platform project type in Studio.
- In Studio, from the Package Manager, update the UI Automation activity package to the latest version. This feature is only available starting with the v21.11.0-preview package. Since you are using a Cross-platform project, only the activity packs that support cross-platform projects are displayed.
- To create a web automation, you also need the latest Chrome extension. You can easily install it in the following ways:
Note: You must have Chrome extension v21.10.4 or newer installed before you start designing the automation.
When designing the UI Automation project for Linux robots, you can use the following input methods for activities:
- ChromiumAPI (default)
- SimulateClick/SimulateType
Additionally, the following wizards are supported:
- Web Recorder
- Table Extraction
The procedure for running an unattended job on Linux robots is identical to the one for Windows.
5900
default port. To connect to it during process execution, you need to publish the VNC port when starting the image, by adding
-p {localVncPort}:5900 --env VNC_ENABLED=true
parameters to the Docker Run
command.
docker run -e LICENSE_AGREEMENT=accept -e
ORCHESTRATOR_URL="{orchestrator url}" -e MACHINE_KEY="{machine_key}" -p 50000:5900 --env VNC_ENABLED=true registry.uipath.com/robot/uiautomation-runtime:<tag>
docker run -e LICENSE_AGREEMENT=accept -e
ORCHESTRATOR_URL="{orchestrator url}" -e MACHINE_KEY="{machine_key}" -p 50000:5900 --env VNC_ENABLED=true registry.uipath.com/robot/uiautomation-runtime:<tag>
50000 port
. After this, you can use any VNC client to follow the robot’s execution live.
You can debug an already started robot container through the unattended robot connection feature.
/home/robotuser/.local/share/UiPath/Logs
folder on the docker image.
To extract Logs from the container, use the following command:
docker cp <ContainerId>:/home/robotuser/.local/share/UiPath/Logs <TargetPath>
/application/Packages/
directory on the docker container. This can be configured by mounting the directory which contains the NuGet libraries using
the following command:
docker run -e LICENSE_AGREEMENT=accept -e MACHINE_KEY="{machine_key}" -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -v <path to packages on the host machine>:/application/Packages/ -ti registry.uipath.com/robot/uiautomation-runtimedocker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -v <path to packages on the host machine>:/application/Packages/ -ti registry.uipath.com/robot/uiautomation-runtime:<tag>
docker run -e LICENSE_AGREEMENT=accept -e MACHINE_KEY="{machine_key}" -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -v <path to packages on the host machine>:/application/Packages/ -ti registry.uipath.com/robot/uiautomation-runtimedocker run -e LICENSE_AGREEMENT=accept -e ORCHESTRATOR_URL="https://cloud.uipath.com/organization/tentant/orchestrator_" -e CLIENT_ID="$Client_ID" -e CLIENT_SECRET="$Client_secret" -v <path to packages on the host machine>:/application/Packages/ -ti registry.uipath.com/robot/uiautomation-runtime:<tag>
<path to packages>
refers to the location on the host machine .
Make sure that the robot user (UID 1000 user) has read access to the mounted path to the package feeds.